package xfuzzy.xfghl.population;

import xfuzzy.xfghl.model.XfghlConfig;

/**
 * Clase abstracta encargada de la generacion de una poblacion
 * @author Alberto David Fernandez Fernandez
 * */

public abstract class PopulationGenerator {

	/**
	 * Tamaño de la poblacion a generar
	 * */
	protected int size;
	
	/**
	 * Constructor de la clase
	 * @param size Tamaño de la poblaciona a generar 
	 * */
	
	public PopulationGenerator(int size)  {
		
		this.size = size;
	}
	
	/**
	 * Metodo que genera una poblacion
	 * @param config Configuracion de la herramienta Xfghl
	 * @return Population Poblacion generada
	 * */
	
	public abstract Population generarPoblacion(XfghlConfig config);
	
	public int getSize()  {
		return this.size;
	}
	
	public void setSize(int size)  {
		this.size = size;
	}
}
